import asyncio


# 注解表示该函数为协程函数
async def func1():
    print(1)
    await  asyncio.sleep(2)  # 遇到io耗时操作，自动化切换到tasks中的其他任务
    print(2)


async def func2():
    print(3)
    await asyncio.sleep(2)  # 遇到io耗时操作，自动化切换到tasks中的其他任务
    print(4)


# 将两个协程函数加入tasks中
tasks = [
    asyncio.ensure_future(func1()),
    asyncio.ensure_future(func2())
]
# 执行协程函数
# 去生成或获取一个事件循环
loop = asyncio.get_event_loop()
# 将任务放到任务列表
loop.run_until_complete(asyncio.wait(tasks))
